Markdown 单元格#
可以使用 Markdown 单元格向 Jupyter Notebook 中添加文本。你可以通过 单元格
菜单、工具栏或快捷键 m
将单元格类型更改为 Markdown。Markdown 是一种流行的标记语言,是 HTML 的一个超集。其规范可以在这里找到
https://daringfireball.net/projects/markdown/
Markdown 基础#
你可以通过在文本块前后分别使用单个或双个 * 来使文本变为 斜体 或 粗体
你可以构建嵌套的无序列表或有序列表
一
子列表
这个
子列表 - 那个 - 另一个
二
子列表
三
子列表
现在是另一个列表
开始了
子列表
子列表
我们继续
现在是这个
你可以添加水平分割线
这是一个块引用
优美胜于丑陋。明了胜于晦涩。简洁胜于复杂。复杂胜于凌乱。扁平胜于嵌套。稀疏胜于密集。可读性至关重要。特殊情况不足以打破规则。尽管实用性胜过纯粹性。错误不应悄无声息地忽略。除非明确使其静默。面对模棱两可,拒绝猜测的诱惑。应该有一种——最好只有一种——显而易见的方法来做到这一点。尽管这种方法一开始可能并不明显,除非你是荷兰人。现在就做胜于永不开始。尽管永不开始通常比 立即 就做好。如果实现很难解释,那就是个坏主意。如果实现很容易解释,那它可能是个好主意。命名空间是个绝妙的主意——让我们多多使用它吧!
以及链接的简写方式
你可以使用反斜杠来生成在 Markdown 语法中具有特殊含义的字面字符。
\*literal asterisks\*
*literal asterisks*
使用双反斜杠来生成字面上的 $ 符号。
标题#
你可以通过在一行开头使用一个(或多个)#
后跟一个空格来添加标题,如下例所示
# Heading 1
# Heading 2
## Heading 2.1
## Heading 2.2
嵌入代码#
你可以嵌入用于说明而非执行的 Python 代码
def f(x):
"""a docstring"""
return x**2
或其他语言
for (i=0; i<n; i++) {
printf("hello %d\n", i);
x += 4;
}
LaTeX 方程#
得益于 MathJax,你可以在行内插入数学表达式:\(e^{i\pi} + 1 = 0\),也可以独立成行显示
\begin{equation} e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i \end{equation}
行内表达式可以通过在 latex 代码前后加上 $
来添加
$e^{i\pi} + 1 = 0$
独立成行的表达式则用 \begin{equation}
和 \end{equation}
包围
\begin{equation}
e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i
\end{equation}
GitHub 风格的 Markdown#
Notebook webapp 支持 Github 风格的 markdown,这意味着你可以使用三个反引号来创建代码块
```python
print "Hello World"
```
```javascript
console.log("Hello World")
```
得到
print "Hello World"
console.log("Hello World")
以及像这样的表格
| This | is |
|------|------|
| a | table|
一个漂亮的 HTML 表格
这个 |
是 |
---|---|
一个 |
表格 |
通用 HTML#
因为 Markdown 是 HTML 的一个超集,你甚至可以添加像 HTML 表格这样的东西
标题 1 | 标题 2 |
---|---|
第 1 行, 第 1 单元格 | 第 1 行, 第 2 单元格 |
第 2 行, 第 1 单元格 | 第 2 行, 第 2 单元格 |
本地文件#
如果你的 Notebook 目录中有本地文件,你可以在 Markdown 单元格中直接引用这些文件
[subdirectory/]<filename>
例如,在 images 文件夹中,我们有 Python 的徽标
<img src="../images/python_logo.svg" />
以及一个使用 HTML5 video 标签的视频
<video controls src="../images/animation.m4v">animation</video>
这些操作不会将数据嵌入到 notebook 文件中,并要求在查看 notebook 时这些文件必须存在。
本地文件的安全性#
请注意,这意味着 Jupyter notebook 服务器也充当一个通用文件服务器,为与你的 notebook 在同一目录树下的文件提供服务。访问权限不会超出 notebook 文件夹,因此你可以严格控制哪些文件是可见的,但因此强烈建议你不要在文件系统的高层级(例如你的主目录)运行 notebook 服务器。
当你以受密码保护的方式运行 notebook 时,除非启用了只读视图,否则对本地文件的访问将仅限于经过身份验证的用户。
Markdown 附件#
从 Jupyter notebook 5.0 版本开始,除了引用外部文件,你还可以将文件附加到 markdown 单元格中。为此,在编辑 markdown 单元格时,将文件拖入其中
文件存储在单元格的元数据中,如果在保存时未被引用,将被自动清除。你可以通过其以 attachment:
开头的 URL 来识别附加的图像。对于上面的图像

请记住,附加文件会增加你的 notebook 的大小。
你可以通过 视图 > 单元格工具栏 > 附件
菜单手动编辑附件,但通常不需要这样做。